package 简单.数学;

/**
 * 给定包含多个点的集合，从其中取三个点组成三角形，返回能组成的最大三角形的面积。
 * <p>
 * 来源：力扣（LeetCode）
 * 链接：https://leetcode.cn/problems/largest-triangle-area/
 */
public class 最大三角形面积_812 {

    public static void main(String[] args) {

    }

    /**
     * 枚举三个点求三角形面积
     *
     * @param points
     * @return
     */
    public double largestTriangleArea(int[][] points) {
        double ans = 0D;
        for (int i = 0; i < points.length; i++) {
            for (int j = i + 1; j < points.length; j++) {
                for (int r = j + 1; r < points.length; r++) {
                    int x1 = points[i][0];
                    int y1 = points[i][1];
                    int x2 = points[j][0];
                    int y2 = points[j][1];
                    int x3 = points[r][0];
                    int y3 = points[r][1];
                    ans = Math.max(ans, Math.abs(0.5 * (x1 * (y3 - y2) + x2 * (y1 - y3) + x3 * (y2 - y1))));
                }
            }
        }
        return ans;
    }

}
